package call.count;

import java.util.List;
import java.util.Map;

/**
 * 功能：记录类的信息
 *
 * @author baitao20
 * @date 2024/2/28 18:05
 **/
public class CallCountClass {

    /**
     * 类型
     */
    private Integer type;

    /**
     * 类名称
     */
    private String className;

    /**
     * 方法列表
     */
    private List<CallCountMethod> methods;

    /**
     * 方法名称列表
     */
    private Map<String, CallCountMethod> methodNames;

    /**
     * 拦截标识。 1 成功 2 拦截失败
     */
    private Integer adviceSuccess;

    /**
     * 是否需要拦截。1 需要拦截 2 不需要拦截
     */
    private Integer isNeedAdvice;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public List<CallCountMethod> getMethods() {
        return methods;
    }

    public void setMethods(List<CallCountMethod> methods) {
        this.methods = methods;
    }

    public Map<String, CallCountMethod> getMethodNames() {
        return methodNames;
    }

    public void setMethodNames(Map<String, CallCountMethod> methodNames) {
        this.methodNames = methodNames;
    }

    public Integer getAdviceSuccess() {
        return adviceSuccess;
    }

    public void setAdviceSuccess(Integer adviceSuccess) {
        this.adviceSuccess = adviceSuccess;
    }

    public Integer getIsNeedAdvice() {
        return isNeedAdvice;
    }

    public void setIsNeedAdvice(Integer isNeedAdvice) {
        this.isNeedAdvice = isNeedAdvice;
    }

    @Override
    public String toString() {
        return "CallCountClass{" +
                "type=" + type +
                ", className='" + className + '\'' +
                ", methods=" + methods +
                ", methodNames=" + methodNames +
                ", adviceSuccess=" + adviceSuccess +
                ", isNeedAdvice=" + isNeedAdvice +
                '}';
    }
}